package br.com.troca.carro.vo;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.OneToMany;

import org.hibernate.annotations.NamedQueries;
import org.hibernate.annotations.NamedQuery;

@Entity
@NamedQueries({
	@NamedQuery(name="Usuario.detalhar", query="select u from Usuario u where u.id = :id"),
	@NamedQuery(name="Usuario.listar", query="select u from Usuario u where u.nomeUsuario like :nomeUsuario")
})
public class Usuario extends Comum {

	/**
	 * Serial UID.
	 */
	private static final long serialVersionUID = 1L;
	
	public Usuario() {
		dataInclusao = Calendar.getInstance().getTime();
	}
	
	@OneToMany
	private List<Endereco> endereco = new ArrayList<Endereco>();
	
	@Column(nullable=false)
	private String tipoUsuario;
	
	@Column(nullable=false)
	private String nomeUsuario;
	
	@Column(nullable=false)
	private String sobrenomeUsuario;
	
	@Column(nullable=false)
	private String sexo;
	
	private String dddTelefone;
	private String telefone;
	
	@Column(nullable=false)
	private Date dataInclusao;

	public Date getDataInclusao() {
		return dataInclusao;
	}
	public void setDataInclusao(Date dataInclusao) {
		this.dataInclusao = dataInclusao;
	}
	public String getTipoUsuario() {
		return tipoUsuario;
	}
	public void setTipoUsuario(String tipoUsuario) {
		this.tipoUsuario = tipoUsuario;
	}
	public String getNomeUsuario() {
		return nomeUsuario;
	}
	public void setNomeUsuario(String nomeUsuario) {
		this.nomeUsuario = nomeUsuario;
	}
	public String getSobrenomeUsuario() {
		return sobrenomeUsuario;
	}
	public void setSobrenomeUsuario(String sobrenomeUsuario) {
		this.sobrenomeUsuario = sobrenomeUsuario;
	}
	public String getSexo() {
		return sexo;
	}
	public void setSexo(String sexo) {
		this.sexo = sexo;
	}
	public String getDddTelefone() {
		return dddTelefone;
	}
	public void setDddTelefone(String dddTelefone) {
		this.dddTelefone = dddTelefone;
	}
	public String getTelefone() {
		return telefone;
	}
	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}
	public List<Endereco> getEndereco() {
		return endereco;
	}
	public void setEndereco(List<Endereco> endereco) {
		this.endereco = endereco;
	}

}
